package com.sinbader.xiaole.common.service;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import com.sinbader.xiaole.common.entity.ProductWarningMessage;
import com.sinbader.xiaole.common.model.params.ProductWarningMessageParam;
import com.sinbader.xiaole.common.model.result.ProductWarningMessageResult;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 商品预警消息表 服务类
 */
public interface ProductWarningMessageService extends IService<ProductWarningMessage> {

    /**
     * 新增
     */
    void add(ProductWarningMessageParam param);

    /**
     * 删除
     */
    void delete(ProductWarningMessageParam param);

    /**
     * 更新
     */
    void update(ProductWarningMessageParam param);

    /**
     * 查询单条数据，Specification模式
     */
    ProductWarningMessageResult findBySpec(ProductWarningMessageParam param);

    /**
     * 查询列表，Specification模式
     */
    List<ProductWarningMessageResult> findListBySpec(ProductWarningMessageParam param);

    /**
     * 查询分页数据，Specification模式
     */
     LayuiPageInfo findPageBySpec(ProductWarningMessageParam param);


    /**
     * 生成商品预警消息
     * @param orgId  门店或供应商ID
     * @param type   用户类型 (supplier  shop)
     * @param orgName  供应商或门店名称
     * @param productId 商品id
     * @param warehouseUsableCount  仓库可用库存
     */
     public void saveProductWarningMessage(Long orgId, String type, String orgName, Long productId, Integer warehouseUsableCount);

    /**
     * 供应商发货生成采购订单
     * @param ids
     */
     public void sendProduct(List<Long> ids,String userType);



}
